package com.lsh.oms.core.service.sign.core;

import com.lsh.oms.api.model.query.QuerySignDto;
import com.lsh.oms.api.model.shipping.ModifyDeliveryExtDto;
import com.lsh.oms.core.model.order.OrderSignHead;
import com.lsh.oms.core.service.tool.Criteria;
import com.lsh.oms.core.service.tool.Pageable;

import java.util.Map;
import java.util.Optional;

public interface SignService {

    Pageable<OrderSignHead> query(Criteria criteria, long page, long pageLimit);

    Optional<OrderSignHead> findById(Long id);

    Optional<OrderSignHead> findById(Long id, boolean detailsRequired);

    Optional<OrderSignHead> findById(Long id, Criteria criteria);

    Optional<OrderSignHead> findByOrderId(Long id);

    Optional<OrderSignHead> findByOrderId(Long id, boolean detailsRequired);

    Map<String, Long> findNumByParam(QuerySignDto querySignDto);

    Boolean updateOmsExt(ModifyDeliveryExtDto modifyDeliveryExtDto);

}
